package com.dnndo.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.dnndo.common.annotation.Excel;
import com.dnndo.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 菜单对象 navi_menu
 *
 * @author dnndo
 * @date 2025-04-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "navi_menu",autoResultMap = true)
public class Menu extends BaseEntity<Menu> {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 父类ID
     */
    @Excel(name = "父类ID")
    private Long parentId;

    /**
     * 路由地址
     */
    @Excel(name = "路由地址")
    private String path;

    /**
     * 重定向
     */
    @Excel(name = "重定向")
    private String redirect;

    /**
     * 路由命名
     */
    @Excel(name = "路由命名")
    private String name;

    /**
     * 路由组件路径
     */
    @Excel(name = "路由组件路径")
    private String component;


    @TableField(typeHandler = FastjsonTypeHandler.class)
    private MenuMeta meta;

    /**
     * 删除标识
     */
    private Long delFlag;

}